﻿using Adnc.Infra.Entities;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text;

namespace WYT.Pro.Repository.Entites
{
    /// <summary>
    /// 商品
    /// </summary>
    [Table("pro_Goods"), Comment("商品表"),Index(nameof(Name)),Index(nameof(Code))]
    public class Goods : EfEntity
    {
        /// <summary>
        /// 商品编码
        /// </summary>
        [MaxLength(50),Comment("商品编码")]
        public string Code { get;set; }

        /// <summary>
        /// 商品名称
        /// </summary>
        [MaxLength(100),Comment("商品名称")]
        public string Name { get;set; }

        /// <summary>
        /// 标语
        /// </summary>
        [Comment("标语"),MaxLength(500)]
        public string Slogan { get;set; }

        /// <summary>
        /// 标签
        /// </summary>
        [Comment("标签"), MaxLength(500)]
        public string Tag { get;set; }

        /// <summary>
        /// 商品名称（维语)
        /// </summary>
        [Comment("商品名称（维语)"), MaxLength(500)]
        public string UighurName { get;set; }

        /// <summary>
        /// 标语（维语)
        /// </summary>
        [Comment("标语（维语)"), MaxLength(500)]
        public string UighurSlogan { get; set; }

        /// <summary>
        /// 标签（维语)
        /// </summary>
        [Comment("标签（维语)"), MaxLength(500)]
        public string UighurTag { get; set; }

        /// <summary>
        /// 是否是第三方商品
        /// </summary>
        [Comment("是否是第三方商品")]
        public bool IsThirdParties { get; set; }

        /// <summary>
        /// 是否进入ERP，仅对第三方产品
        /// </summary>
        [Comment("是否推送到ERP,仅对第三方产品有效")]
        public bool ERPEnable { get; set; }

        /// <summary>
        /// 是否是国外商品
        /// </summary>
        [Comment("是否是国外商品")]
        public bool IsForeign { get; set; }

        /// <summary>
        /// 商品分类
        /// </summary>
        [Comment("商品类型")]
        public int GoodsType { get; set; }

        /// <summary>
        /// 封面图
        /// </summary>
        [Comment("封面图"),MaxLength(2000)]
        public string SurfacePlot { get; set; }
        /// <summary>
        /// 轮播图
        /// </summary>
        [Comment("轮播图")]
        public string Banner { get; set; }

        /// <summary>
        /// 详情图
        /// </summary>
        [Comment("详情图")]
        public string Details { get; set; }

        /// <summary>
        /// 视频地址
        /// </summary>
        [Comment("视频地址")]
        public string VideoAddress { get; set; }

        /// <summary>
        /// 封面图（维语)
        /// </summary>
        [Comment("封面图（维语)"), MaxLength(2000)]
        public string UighurSurfacePlot { get; set; }
        /// <summary>
        /// 轮播图（维语)
        /// </summary>
        [Comment("轮播图（维语)")]
        public string UighurBanner { get; set; }

        /// <summary>
        /// 详情图（维语)
        /// </summary>
        [Comment("详情图（维语)")]
        public string UighurDetails { get; set; }

        /// <summary>
        /// 视频地址(维语)
        /// </summary>
        [Comment("视频地址(维语)")]
        public string UighurVideoAddress { get; set; }

        /// <summary>
        /// 不可销售区域
        /// </summary>
        [Comment("不可销售区域")]
        public string NotSellAreaCode { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        [Comment("创建时间")]
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 状态（-1：已删除，0：正常）
        /// </summary>
        [Comment("状态（-1：已删除，0：正常）")]
        public int State { get; set; }

        /// <summary>
        /// 上架时间
        /// </summary>
        [Comment("上架时间")]
        public DateTime? PutawayTime { get; set; }

        /// <summary>
        /// 下架时间
        /// </summary>
        [Comment("下架时间")]
        public DateTime? OffLoadingTime { get; set; }

        /// <summary>
        /// 是否可以分享
        /// </summary>
        [Comment("是否可以分享")]
        public bool Shareable { get; set; }

        /// <summary>
        /// 销量
        /// </summary>
        [Comment("销量")]
        public int Sales { get;set; }

        /// <summary>
        /// 可以购买到云仓的商品
        /// </summary>
        [Comment("可以购买到云仓的商品")]
        public bool IsSendRepertory { get; set; }

        /// <summary>
        /// 是否进行第三方直推返佣
        /// </summary>
        [Comment("是否进行第三方直推返佣")]
        public bool IsThirdCoupons { get; set; }

        /// <summary>
        /// 是否进入溯源码系统
        /// </summary>
        [Comment("是否进入溯源码系统")]
        public bool TraceSource { get; set; }

        /// <summary>
        /// 物流模板
        /// </summary>
        [Comment("物流模板")]
        public long? LogisticsId { get; set; }

        /// <summary>
        /// 供应商Id
        /// </summary>
        [Comment("供应商Id")]
        public long? SupplierId { get; set; }
    }
}
